package net.FamilyTree.vo;

import java.util.ArrayList;
import java.util.List;



//TreeVO是一个树形结构的视图对象（View Object），用于表示树形结构的节点信息。
//该类具有以下属性：
//id：节点的唯一标识符
//parentId：父节点的唯一标识符
//name：节点的名称
//image_url：节点的图片URL
//children：子节点列表，用于存储该节点的子节点
//通过使用TreeVO对象，可以构建树形结构的数据，其中每个节点都包含一个唯一标识符、父节点标识符、名称、图片URL和子节点列表。
//这种树形结构的数据可以用于在前端展示层级关系，例如显示家族树或组织架构等。
// 通过设置每个节点的父节点标识符和子节点列表，可以构建树形结构，并在前端使用递归方式展示整棵树。


public class TreeVO {

    private Integer id;                     // 节点的唯一标识符
    private Integer parentId;               // 父节点的唯一标识符
    private String name;                    // 节点的名称
    private String image_url;               // 节点的图片URL
    private List<TreeVO> children = new ArrayList<>();   // 子节点列表


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImage_url() {
        return image_url;
    }

    public void setImage_url(String image_url) {
        this.image_url = image_url;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public List<TreeVO> getChildren() {
        return children;
    }

    public void setChildren(List<TreeVO> children) {
        this.children = children;
    }
}
